Software application development tools and methods have evolved and improved quite dramatically since their origin. Even with the latest software development tools and methods, however, it is still difficult to produce a working data collection software application (a computer program concerned with data collection) in less than six to nine months. The term “data collection application” as used herein refers to a software-based system for acquiring and evaluating information. Such applications are used for due diligence investigations, internal audits, compliance reviews in various fields, document tracking and other applications which involve the collection and evaluation of data which is in the form of data records.
The process of producing a new data collection application (the software) has in the past typically involved a number of skilled people, including a software developer, a database administrator and a project lead, as well as test personnel and resources. With the increased pace of change in both the public and private sectors, there is an increasing demand for new data collection application software that can be developed faster and at less expense than previously.
Software development in general has taken two different directions in attempting to keep pace with the increased demands for new application specific software. The first line of development is directed toward generating a large number of small, individually self-contained applications limited to a single data storage system. While this approach reduces the software development time for each application, there are issues, not surprisingly, of data integrity with this approach, as well as multiple entry requirement issues and possible problems concerning the sharing of data between two or more applications.
While such arrangements are workable in a general sense, the storage systems for such an approach typically include data structures which are not easily changed, and further, the overall system requires highly skilled software specialists dedicated to maintenance of the software for the several applications. Still further, this approach does not take into account the increasing demand for a rapid change capability in a particular data collection application in both function and data structure.
In a second approach, evolving application needs are anticipated by creating a data structure which includes every data element believed to be required by a particular application, both now and in the anticipated future. This data structure approach usually involves a large number of data collection screens by which the large set of data elements are captured. This latter approach is generally viewed as quite cumbersome; further, it does not address the potential introduction of new data elements which may require changes to existing screens, or changes to existing application “rules”, guidelines and requirements for the data.
Hence, there is a need for a different approach to application software development for data collection applications, as well as a need to ensure that the individual application structure is sufficiently flexible and adaptable that it can be readily modified to meet changes in the particular operating conditions and/or desired functions of the application.